package com.t2t.top;

import ch.qos.logback.classic.Level;

import ch.qos.logback.classic.Logger;
import org.slf4j.LoggerFactory;
import org.testng.annotations.Test;

/**
 * Created by yangpengfei on 2016/8/16.
 * <p/>
 * 基本选择规则
 * 记录请求级别为 p，其 logger 的有效级别为 q，只有则当 p>=q时，该请求才会被执行。
 * <p/>
 * 该规则是 logback 的核心。级别排序为：TRACE < DEBUG < INFO < WARN < ERROR。
 */
public class LogLevelTest {
    @Test
    public void level() {
        // 取得名为"com.foo"的 logger 实例
        Logger logger = (Logger) LoggerFactory.getLogger("com.foo");
        // 设其级别为 INFO
        logger.setLevel(Level.INFO);
        Logger barlogger = (Logger) LoggerFactory.getLogger("com.foo.Bar");
        // 该请求有效，因为 WARN >= INFO
        logger.warn("Low fuel level.");
        // 该请求无效，因为 DEBUG < INFO.
        logger.debug("Starting search for nearest gas station.");
        // 名为"com.foo.Bar"的 logger 实例 barlogger, 从"com.foo"继承级别
        // 因此下面的请求有效，因为 INFO >= INFO.
        barlogger.info("Located nearest gas station.");
        // 该请求无效，因为 DEBUG < INFO.
        barlogger.debug("Exiting gas station search");
    }


}
